﻿package com.zouloux.core.masters 
{
	import flash.events.Event;
	import flash.events.IEventDispatcher;
	
	/**
	 * ...
	 * @author ZoulouX
	 */
	public interface IController extends IEventDispatcher
	{
		/**
		 * Récupérer les paramètres associés à l'action en cours
		 */
		function get params ():Object;
		function set params (pValue:Object):void;
		
		/**
		 * La vue associée à ce controller
		 */
		function get view ():IView;
		function set view (pValue:IView):void;
		
		/**
		 * Cette méthode est appelée avant l'action
		 */
		function beforeAction ():void;
		
		/**
		 * Cette méthode est appelée après l'action
		 */
		function afterAction ():void;
		
		/**
		 * L'action par défaut
		 */
		function index ():void;
		
		/**
		 * Libérer l'espace mémoire
		 */
		function dispose ():void
	}
}